﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using PerfilEmpreendedor.Dao.Factory;
using Ext.Net;
using PerfilEmpreendedor.Dao.Interfaces;
using PerfilEmpreendedor.Bo.Model;
using System.IO;

namespace PerfilEmpreendedor.FrontEnd
{
    public partial class Inscrever : System.Web.UI.Page
    {
        private DaoFactory daoFactory = DaoFactory.GetInstance;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                CarregarItensAvatar();
            }
        }
        protected void CarregarItensAvatar()
        {
            DirectoryInfo folder = new DirectoryInfo(Server.MapPath("Avatar\\"));
            foreach (var item in folder.GetFiles())
            {
                Ext.Net.MenuItem i = new Ext.Net.MenuItem();
                i.IconUrl = "Avatar/" + item.Name;
                i.Text = item.Name;
                menuAvatar.Items.Add(i);
            }
        }
        protected void SelecionarAvatar(Object sender, DirectEventArgs e)
        {
            imgAvatar.ImageUrl = "Avatar/" + e.ExtraParams["id"];
            hiddenAvatar.Text = e.ExtraParams["id"];
            imgAvatar.Show();

        }
        protected void Salvar(Object sender, DirectEventArgs e)
        {
            IUsuarioDao usuarioDao = daoFactory.GetUsuarioDao;
            
            if (usuarioDao.LoginValido(txtLogin.Text))
            {
                Usuario usuario = new Usuario();
                usuario.Login = txtLogin.Text.Trim();
                usuario.Senha = txtSenha.Text;
                usuario.Ativo = true;
                usuario.Perfil = new Perfil() {Id = 2 };
                if (!String.IsNullOrEmpty(hiddenAvatar.Text))
                {
                    usuario.Avatar = hiddenAvatar.Text;
                }
                else
                {
                    usuario.Avatar = "NoImage.jpg";
                }
                usuarioDao.Save(usuario);
                ExtFunctions.Alert("Sua conta foi criada com sucesso. Efetue login na página principal", MessageBox.Icon.INFO);
                FormPanel1.Reset();
                imgAvatar.Hide();
            }
            else
            {
                ExtFunctions.Alert("O login informado já existe", MessageBox.Icon.ERROR);
            }
        }
    }
}